Springboot mybatis

您所在的位置:网站首页 mybatis spring boot Springboot mybatis

Springboot mybatis

#Springboot mybatis| 来源: 网络整理| 查看: 265

Springboot mybatis-plus配置及用法详解

2020-10-01 01:12kinglead JAVA教程

这篇文章主要介绍了Springboot mybatis-plus配置及用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

本节内容扩展介绍下针对mybatis的增强工具mybatis-plus,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。

二话不多说,我们先写编写个简单的例子,让大家先初步的了解下mybatis-plus。

1.mybatis-plus初步实例

(1)创建一个spring boot web工程(具体创建过程就不再演示了,还不会的同学去看看spring boot专题第一节内容)

(2)引入依赖

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32      org.springframework.boot    spring-boot-starter-web          org.springframework.boot    spring-boot-starter-validation          com.baomidou    mybatis-plus-boot-starter    3.4.0          mysql    mysql-connector-java          org.springframework.boot    spring-boot-starter-thymeleaf          org.projectlombok    lombok    true  

(3)配置文件application.yml

? 1 2 3 4 5 6 7 # DataSource Config  spring:   datasource:    username: root    password: tx@mysql@2020    url: jdbc:mysql://188.131.233.55:3306/spring_boot_topic    driver-class-name: com.mysql.cj.jdbc.Driver(4)

(4)实体类User

? 1 2 3 4 5 6 7 8 9 10 11 12 package com.kinglead.demo.domain;  import com.baomidou.mybatisplus.annotation.TableName;  import lombok.Data;  ​  @Data  @TableName(value = "t_user") //指明数据库表名  public class User {    private Long id;    private String name;    private Integer age;    private String email;  }

(5)创建Mapper接口

? 1 2 3 4 5 6 7 8 package com.kinglead.demo.mapper;  ​  import com.baomidou.mybatisplus.core.mapper.BaseMapper;  import com.kinglead.demo.domain.User;  ​  //未来使用mybatis-plus的公共接口,必须继承BaseMapper  public interface UserMapper extends BaseMapper {  }

(6)创建Service接口

UserService

? 1 2 3 4 5 6 package com.kinglead.demo.service;  import com.kinglead.demo.domain.User;  import java.util.List;  public interface UserService {    List queryUserList();  }

UserServiceImpl

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 package com.kinglead.demo.service.impl;  ​  import com.kinglead.demo.domain.User;  import com.kinglead.demo.mapper.UserMapper;  import com.kinglead.demo.service.UserService;  import org.springframework.stereotype.Service;  ​  import javax.annotation.Resource;  import java.util.List;  ​  @Service  public class UserServiceImpl implements UserService {    @Resource    private UserMapper userMapper;    @Override    public List queryUserList() {      //使用mybatis-plus公共查询接口完成列表查询      return userMapper.selectList(null);    }  }

(7)创建controller

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 package com.kinglead.demo.controller;  ​  import com.kinglead.demo.domain.User;  import com.kinglead.demo.service.UserService;  import org.springframework.stereotype.Controller;  import org.springframework.web.bind.annotation.RequestMapping;  import org.springframework.web.servlet.ModelAndView;  ​  import javax.annotation.Resource;  import java.util.List;  ​  @Controller  @RequestMapping("/user")  public class UserController {  ​    @Resource    private UserService userService;  ​    @RequestMapping("/userList")    public ModelAndView queryUserList(ModelAndView modelAndView){      List userList = userService.queryUserList();      modelAndView.addObject("userList", userList);      modelAndView.setViewName("userList");      return modelAndView;    }  ​  }

(8)用户列表页面

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40                  用户信息                    table {          border: 1px solid black;          text-align: center;          border-collapse: collapse;        }        table thead th {          border: 1px solid black;        }        table tbody td {          border: 1px solid black;        }                            用户列表                              序号          编码          用户名                        >                                                          

(9)启动类

? 1 2 3 4 5 6 7 8 9 10 11 package com.kinglead.demo;  import org.mybatis.spring.annotation.MapperScan;  import org.springframework.boot.SpringApplication;  import org.springframework.boot.autoconfigure.SpringBootApplication;  @SpringBootApplication  @MapperScan("com.kinglead.demo.mapper")  public class App {    public static void main(String[] args) {      SpringApplication.run(App.class, args);    }  }

(10)测试访问

Springboot mybatis-plus配置及用法详解

小结

我们能看到mybatis-plus通过对mybatis的加强,能在不写mapper.xml文件的情况下,完成简单的CRUD的操作。看到这里,有的小伙伴可能会想,这和JPA有什么不一样,直接用JPA不就好啦。

下面我们来对比下他们俩的区别:要说mybatis-plus,得先说mybatis。mybatis比较接近原生sql,要想使用的好,需要很好的sql基础,所有的数据库操作都必须写sql语句;JPA是对hibernate的封装,提取了很多CRUD的公共方法,可以在不写sql的情况下完成不复杂的CRUD;mybatis-plus是mybatis的增强工具,天生拥有mybatis的优势,也具备像JPA一样拥有很多CRUD的公共方法,简单的sql直接调用,不要编写语句。

那我们该如何选择他们呢?没有哪个框架是最优的,主要还是要根据实际项目情况而定。如果项目不复杂,涉及不到很多复杂的数据处理,那么建议考虑JPA。如果项目复杂,涉及到很多复杂的数据处理,那么建议考虑mybatis或mybatis-plus,在这基础上,如果想简化mybatis,可以考虑mybatis-plus。

本节内容只是展示了mybatis-plus的冰山一角,它还有拥有很多特色功能,如支持主键字段生成、内置分页插件等。

源码地址:https://github.com/kinglead2012/myblog

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:https://www.cnblogs.com/kinglead/p/13704678.html



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3